#include <iostream>
// 11

// 这个函数如果能在编译期计算就会在编译期得出结果
constexpr int add(int a)
{
    if (a == 1 || a == 2)
        return 1;
    return add(a - 1) + add(a - 2);
}

int main()
{
    // 在编译期计算表达式的值(原理：模板元编程)
    // constexpr int a = 10 + 20; // 右边必须是常量  int b = 10;  constexpr int a = b + 20; 这样不行
    constexpr int a = add(10);
    return 0;
}
